A communication network may include network elements that route packets through the communication network. Some network elements may include a distributed architecture, in which packet processing may be distributed among several subsystems of a given network element. Some example subsystems of the network elements may include, but are not limited to, line cards, switches, bridges, distributors, and traffic managers. Some network elements may be used in a communication network as a multifunction Ethernet aggregation network element (multifunction network element), which may support one or more functions such as link aggregation, hashing, load balancing, or some combination thereof.
The multifunction network element may include the distributed architecture including one or more line cards and/or a bridge. Each of the line cards may include a modular electronic device that may provide network communication functionality. For example, some line cards may include, among other things, an Ethernet switch that may switch traffic through the network element and into a local area network (LAN). Additionally, the line cards may include modules that may process data such as frames or packets. The packets or frames may contain information such as a source address, a media access control (MAC) address, a destination address, data, or some combination thereof.
The bridge may also include a modular electronic device that provides network communication functionality. For example, the bridge may include, among other things, an Ethernet switch, ports, distributor, and modules to process hash rules and addresses. The modules may include processing resources and a memory configured to separate and map data received at ingress ports to output at egress ports. The data may also be flooded or multicast to all egress ports. When data is flooded, packets incoming from one source are transmitted to multiple destinations coupled to the egress ports without duplication. The destinations often share a group address so that only the devices that want the data receive it.
Additionally, communication networks may employ link aggregation. Link aggregation may generally describe the practice of using multiple network cables or ports in parallel to increase link speeds beyond the limits of any single cable or port. An example link aggregation standard is e.g., IEEE 802.1AX-2008. Link aggregation may additionally increase redundancy. In link aggregation, a group or set of ports may be combined and represented as a single logical port to other components of the network system. Various elements of the communication network system may “see” the aggregated ports known as a link aggregation group (LAG) as a single logical communication port in routing tables or databases of network elements external to the LAG.
In addition, to ensure high reliability and availability in communication networks, load balancing is often used. When implemented, load balancing typically provides for effective utilization of bandwidth for the network. In load balancing, the data stream at the ingress port is divided and transmitted on multiple ports in the LAG at the egress port. In some types of load balancing a hash rule is used which may be based on various characteristics of the data streams or packets at the ingress port. The hash rule may require complex algorithms, the determination of various characteristics of the data streams, some means to record the load balancing, or some combination thereof. Additionally, in load balancing of flooded traffic there is the potential that multiple data streams may be simultaneously multicast on the same egress port of the LAG. This may result in congestion.
The subject matter claimed herein is not limited to embodiments that solve any disadvantages or that operate only in environments such as those described above. Rather, this background is only provided to illustrate one example technology area where some embodiments described herein may be practiced.